1. Field of the Invention
This invention is generally related to Global Positioning System (GPS) receivers. More particularly, it is related to maintaining an accurate GPS receiver clock circuit during periods of low power operation.
2. Related Art
The Global Positioning System (GPS) is a collection of twenty-four earth-orbiting satellites. Each of the GPS satellites travels in a precise orbit about 11,000 miles above the earth""s surface. A GPS receiver locks onto at least three of the satellites to determine its precise location. Each satellite transmits a signal modulated with a unique pseudo-noise (PN) code. Each PN code is a sequence of 1023 chips that are repeated every ms consistent with a chip rate of 1.023 megahertz (MHz). Each satellite transmits at the same frequency. For civil applications, the frequency is known as L1 and is 1575.42 MHz. The GPS receiver receives a signal that is a mixture of the transmissions of the satellites that are visible to the receiver. The receiver detects the transmission of a particular satellite by correlating the received signal with shifted versions of the PN code for that satellite. If the level of correlation is sufficiently high so that there is a peak in the level of correlation achieved for a particular shift and PN code, the receiver detects the transmission of the satellite corresponding to the particular PN code. The receiver then uses the shifted PN code to achieve synchronization with subsequent transmissions from the satellite.
GPS employs a unique time keeping system. GPS time is kept in terms of seconds and weeks since Jan. 6, 1980. There are 604,800 seconds per week. Therefore, GPS time is stated in terms of a time of week (TOW) and a week number. TOW ranges from 0 to 604800, corresponding to the number of seconds in a week. The week number started with week zero on Jan. 6, 1980 and is currently in excess of one thousand weeks. The TOW can have a fractional part, particularly when oscillators provide a resolution of 1/32,768th of a second (oscillation frequency of 32 kilo-Hertz, or kHz) or when the GPS time is computed from range measurements relative to a specific clock epoch and can have accuracy on the order of a few tens of nanoseconds. GPS time is fundamental to the GPS system.
During the initial determination of position of the GPS receiver unit, a xe2x80x9ccold startxe2x80x9d process is initiated whereby the GPS receiver unit searches for all satellites over a wide range of possible frequencies since the GPS receiver begins the acquisition process without knowledge of GPS time, GPS position or ephemeris data for the GPS satellite orbits. In some situations, almanac data is also unknown for the GPS satellites. Eventually, after many seconds, at least four satellite signals are acquired. The satellites"" PN encoded signals identify each of the satellites and each satellite transmits precise orbital information (orbital location as a function of GPS time) for that satellite, known as ephemeris data.
If some information is known prior to acquisition, the time to acquire sufficient information from the GPS satellites for navigation can be reduced. For example, a xe2x80x9cwarm startxe2x80x9d process may be used if almanac data, approximate GPS time and approximate receiver position allow approximate satellite locations and Doppler shifts to be calculated. A xe2x80x9chot startxe2x80x9d process may be used if the ephemeris, approximate GPS time and approximate receiver position are known so that approximate satellite locations and Doppler shifts can be calculated and the time to collect ephemeris data can be avoided. However, a complete six-second sub-frame of data from at least one satellite is required in order to establish time accurately enough to compute a navigation solution (position).
The GPS receiver unit determines its distance from each satellite by determining the code phase of the transmission from each satellite. The code phase (CP) is the delay, in terms of chips or fractions of chips, that a satellite transmission experiences as it travels the approximately 11,000-mile distance from the satellite to the receiver. At each satellite, the time of transmission of each PN chip is controlled down to a few nanoseconds. Consequently, knowledge of precise GPS time allows the GPS receiver unit to know exactly what chip of a satellite""s waveform is being transmitted at any given time. If the arrival of a given chip at a receiver is measured relative to a local timing epoch, such as the T20, then the propagation time of that chip from the satellite to the GPS receiver unit can be measured as accurately as GPS time at that T20 epoch is known. If the propagation times from each of four satellites are measured relative to the same T20 epoch, then the GPS receiver unit can solve for the location of the receiver in three-dimensional space, along with the error in the value of GPS time at the reference T20.
The GPS receiver unit precisely determines the distance to the satellite by multiplying the time delay by the velocity of the transmission from the satellite. The GPS receiver unit also knows the precise orbits of each of the satellites. Updates of the locations of the satellites are transmitted to the receiver by each of the satellites. This is accomplished by modulating a low frequency (50 Hz) data signal onto the PN code transmission from the satellite. The data signal encodes the time-dependent positional information for the satellite and the time errors in its on-board clock in the ephemeris data sub-frames. Precise time of each satellite""s transmission is given in each six-second data sub-frame relative to a reference chip at the start of the next sub-frame.
Conceptually, the receiver uses the estimated range from a satellite to define a sphere around the satellite upon which the receiver must be located. The radius of the sphere is equal to to the range to the satellite the receiver has determined from the code phase. The receiver performs this process for at least three satellites. The receiver derives its precise location from the points of intersection between the at least three spheres it has defined. Measurements from three satellites are sufficient if the receiver knows the altitude at its location. When the altitude is unknown, measurements from four satellites are required so that altitude can also be solved for, along with latitude, longitude and the error in the local clock measurement epoch (e.g., GPS time at the T20 epoch).
The detection of the signals from each satellite can be accomplished in accordance with a GPS signal detector that is disclosed in, for example, but not limited to, U.S. patent entitled xe2x80x9cSIGNAL DETECTOR EMPLOYING COHERENT INTEGRATION,xe2x80x9d having U.S. Pat. No. 6,297,771, issued on Oct. 2, 2001, and is incorporated herein by reference. A signal detector as disclosed therein may use a correlation mechanism, for example, a matched filter, and a coherent integration scheme in which to detect the appropriate satellite signals.
Once the satellite signals are detected, the low frequency 50 Hz data that is modulated onto the PN code signal received from the satellite is decoded to determine the precise location of the GPS receiver unit. In the past, this location determination process required several seconds to complete. Unfortunately, these conventional schemes typically run continually, thus consuming valuable processor resources, particularly a limited power source, if the GPS receiver unit is portable. Portable GPS receiver units may be designed such that selected components may be shut off, or powered down, during periods when the user is not querying the GPS receiver unit for location information. When the user (or an automated process) queries the GPS receiver unit, the GPS receiver unit reactivates the powered down components and reacquires satellite data to determine the current location. If the user has not significantly moved, and/or if the shut down period has been sufficiently short, it may be possible to reacquire the previous satellite signals and have nearly immediate correlation of the code phase data (rather than the several seconds to minutes associated with the hot, warm or cold start procedures). Nearly immediate correlation of the code phase data saves several seconds, thereby saving a substantial amount of the limited power source in a portable GPS receiver unit.
However, such reacquisition of the satellite signals with nearly immediate correlation of the code phase data requires precise time keeping during the period the receiver is off. More particularly, the GPS oscillator and timing system must maintain accuracy of the various clocking signals in the GPS receiver unit to better than 0.5 ms (ms) to avoid losing track of which PN code period within the overall GPS signal structure the receiver expects to receive at reacquisition. This 0.5 ms criterion corresponds to one half of a 1 ms code period. In addition, movement of the GPS receiver unit introduces error that may be equated to timing of the PN code signals. If the accuracy of the clocking signals plus the error introduced by movement of the GPS receiver unit can be maintained to within xc2x10.5 ms of the incoming PN code signals, the time consuming and power consuming process of determining location using the hot, warm or cold start procedures may be avoided because the GPS receiver unit matching filters can immediately lock onto the four previously acquired satellite PN code signals and know which PN code period of the signal structure has been acquired. Otherwise, the hot, warm or cold start procedures must be used, depending on the prior information (almanac, ephemeris, GPS time, receiver position) that has been preserved while the receiver was off.
Typically, a conventional real time clock (RTC) circuit may be used to maintain rough GPS time while the rest of the GPS circuitry if off. Typical RTC circuits may maintain accuracy of a few seconds over extended periods. Such accuracy is adequate for hot and warm starts. However, the accuracy of a conventional real time clock degrades rapidly due to poor stability and temperature characteristics of typical low cost, low power RTC circuits. Therefore, even after a very brief time, a cold start is required.
Maintaining accuracy of the various clocking signals in the GPS receiver unit to within xc2x10.5 ms (one half of a 1 ms code period) is not possible with a conventional GPS oscillator and timing system if the oscillator is powered down between navigation updates. However, since the GPS oscillator and the associated timing system consume significant power, powering down these components is very desirable in a portable GPS receiver unit to conserve power resources.
Therefore, it is desirable to have a power saving scheme that can make use of the satellite acquisition circuitry contained within the above-referenced U.S. patent application Ser. No. 09/281,566, and that can be operated to conserve processor resources by powering down selected components of the GPS receiver unit, including the GPS oscillator and the associated timing system. In particular, it is desirable to power down the GPS oscillator and the associated clocking circuitry while preserving accurate clocking information such that a xc2x10.5 ms accuracy is maintained over the power down period.
Power is conserved in a Global Positioning System (GPS) receiver unit by shutting down selected components during periods when the GPS receiver unit is not actively acquiring satellite information used to calculate the location of the GPS receiver unit. A K32 (typically a nominal 32,768 Hz) oscillator residing in a low power time keeping circuit accurately preserves GPS time when the selected components are shut off.
A local GPS oscillator crystal generates an M11 clock signal that is used to accurately determine GPS time based upon signals detected from the plurality of satellites. An edge aligned ratio counter continuously monitors the K32 and M11 clock signals with free running counters, and when an edge of the K32 clock signal aligns with an edge of an M11 signal, within a predetermined small tolerance, the K32 and M11 counter values are latched. At the time of latching, the edge aligned ratio counter provides a signal to the local GPS clocks generator so that a specific T20 timing epoch is related to the K23 and M11 counter values. Thus, the GPS receiver unit 100 is able to correlate the timing and the rates of the K32 clock signal and the GPS M11 clock signal with the T20 timing epoch. The correlated timing and rates of the K32 clock signal, the GPS M11 clock signal and the T20 epoch are provided to the Navigation processor so that a sufficiently accurate estimate of GPS time at a T20 epoch is calculated to allow determination of the PN code periods in the signal structures of acquires satellite PN code signals.
During operation of the GPS receiver unit, frequencies of the local GPS oscillator crystal and the K32 oscillator are detected at various operating temperatures such that a temperature/frequency table is defined for both oscillators. The data for both temperature/frequency tables are stored in a memory.
Selected components residing the GPS receiver unit, including the GPS oscillator, are then shut down (deactivated) to conserve power. The low power time keeping circuit remains on. Periodically, after a predetermined period of time, the system is repowered (activated) in response to a wake-up command generated by an alarm unit. The K32 clock signal from the low power time keeping circuit is recalibrated based upon the actual operating temperature of the K32 oscillator and data from the K32 clock temperature/frequency table. Thus, the K32 clock rate is periodically updated to more accurately track GPS time.
At a particular point in time, a navigation update is performed in accordance with the requirements of the particular system application. The periodically recalibrated K32 clock signal and data from the GPS clock temperature/frequency table are used to set the M11 clock signal rate and GPS time. Positions of the GPS satellites are then estimated such that the real GPS time can be quickly determined from the received satellite signals. Once the precise GPS time is determined from the detected satellite signals, the M11 and K32 signals are latched together and correlated with the real GPS time at a T20 epoch, as described above, to further improve and update their temperature calibration tables. The selected components are then shut off once again to conserve power.
The process described above is repeated as necessary so that accurate GPS time is maintained by the low power time keeping circuit. Thus, when a user of the GPS receiver unit requests position information, the GPS receiver unit more quickly determines position from the GPS satellites because the GPS satellite positions and ranges are estimated with a high degree of precision based on the more accurate time keeping. That is, the power consuming and time consuming process of detecting sub-frame data and determining sub-frame timing to set the GPS time accurately enough to estimate the ranges to the GPS satellites using conventional processes is avoided.
Other systems, methods, features and advantages of the invention will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the accompanying claims.